package com.tanjun.userservice.web.service.role;


import com.mybatisflex.core.service.IService;
import com.tanjun.userservice.web.service.input.AdminRoleBo;
import com.tanjun.userservice.web.service.role.entity.BaseAdminRoleEntity;

import java.util.List;

/**
* @author tanjun
* @description 针对表【base_admin_role(系统管理员角色表)】的数据库操作Service
* @createDate 2024-12-03 21:44:43
*/
public interface BaseAdminRoleService extends IService<BaseAdminRoleEntity> {

    /**
     * 新增或者修改角色信息
     * @param paramVo
     */
    void saveOrUpdateRole(AdminRoleBo paramVo);

    /**
     * 删除角色(同时会删除角色权限信息)
     * @param id 角色id
     */
    void delRole(Long id);

    /**
     * 根据id获取角色信息
     * @param roleIdList 角色id列表
     * @return 角色列表
     */
    List<BaseAdminRoleEntity> listRolesByIds(List<Long> roleIdList);

    /**
     * 根据id获取角色信息
     * @param roleId 角色id
     * @return 角色信息
     */
    BaseAdminRoleEntity getRoleById(Long roleId);

    /**
     * 获取用户的角色信息
     * @param userId
     * @return
     */
    List<BaseAdminRoleEntity> listRoles(Long userId);
}
